package com.t18;

import java.io.*;
import java.util.zip.GZIPInputStream;
import java.util.zip.GZIPOutputStream;

/**
 * Created by xuyiwei on 2018/9/3.
 */
public class GZIPcompress {
    public static void main(String[] args) throws IOException {
//        if(args.length==0){
//            System.out.println("Usage: \nGZIPcompress file\n"+
//            "\tUses GZIP compression to compress "+
//            "the file to test.gz");
//            System.exit(1);
//        }
        BufferedReader in = new BufferedReader(new FileReader("/Users/xuyiwei/Documents/javaBase/jdk/src/com/t18/TextFile.txt"));
        BufferedWriter out = new BufferedWriter(
                new OutputStreamWriter(
                        new GZIPOutputStream(
                        new FileOutputStream("/Users/xuyiwei/Documents/javaBase/jdk/src/com/t18/test.gz")
                    ))
                );
        System.out.println("Writing file");
        int c;
        while ((c=in.read())!=-1){
            out.write(c);
        }
        in.close();
        out.close();
        System.out.println("Reading file");
        BufferedReader in2 = new BufferedReader(
                new InputStreamReader(
                        new GZIPInputStream( new FileInputStream("/Users/xuyiwei/Documents/javaBase/jdk/src/com/t18/test.gz"))
                ));
        String s;
        while ((s=in2.readLine())!=null){
            System.out.println(s);
        }
    }
}
